package com.ftf.tp.message.domain.directMessage.service.impl;

import com.ftf.tp.message.domain.directMessage.dos.NoticeDO;
import com.ftf.tp.message.domain.directMessage.dos.NoticeSettingConfigDO;

/**
 * @author tanghao
 * @date 2022/9/16
 */
public interface NoticeService {

    /**
     * 该消息的接收对象是否接受该消息
     *
     * @param userId     接受对象id
     * @param i          消息类型
     * @param targetType 消息主体对象类型
     * @return 结果
     */
    boolean isReceive(Long userId, int i, String targetType);

    /**
     * 生成通知
     *
     * @param noticeDO 通知实体
     */
    void created(NoticeDO noticeDO);

    /**
     * 获取通知配置
     *
     * @param i          消息类型
     * @param targetType 消息主体对象类型
     */
    NoticeSettingConfigDO getNoticeSettingConfig(int i, String targetType);
}
